From: Dan Winship Date: Tue, 16 Feb 2010 22:32:19 +0000 (-0500) Subject: NotificationDaemon: add rewriteRules infrastructure, use it for xchat X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~10415 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=d8800c095a67010a0dbaea59b74e9ffe300a9fa6;p=gnome-shell.git NotificationDaemon: add rewriteRules infrastructure, use it for xchat Changes notifications like: XChat: Private message from: danw (GimpNet) blah... to danw: blah blah blah blah (the "XChat" being unnecessary since there's already an xchat icon there anyway.) https://bugzilla.gnome.org/show_bug.cgi?id=608915 --- diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index de747141e..6e53f1a7d 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -69,6 +69,16 @@ const Urgency = { CRITICAL: 2 }; +const rewriteRules = { + 'XChat': [ + { pattern: /^XChat: Private message from: (\S*) \(.*\)$/, + replacement: '<$1>' }, + { pattern: /^XChat: New public message from: (\S*) \((.*)\)$/, + replacement: '$2 <$1>' }, + { pattern: /^XChat: Highlighted message from: (\S*) \((.*)\)$/, + replacement: '$2 <$1>' } + ] +}; function NotificationDaemon() { this._init(); } @@ -150,6 +160,15 @@ NotificationDaemon.prototype = { summary = GLib.markup_escape_text(summary, -1); + let rewrites = rewriteRules[appName]; + if (rewrites) { + for (let i = 0; i < rewrites.length; i++) { + let rule = rewrites[i]; + if (summary.search(rule.pattern) != -1) + summary = summary.replace(rule.pattern, rule.replacement); + } + } + let notification = new MessageTray.Notification(source, summary, body, true); if (actions.length) { for (let i = 0; i < actions.length - 1; i += 2)